﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace _2_class_A
{
    internal class Program
    {
        static void Main(string[] args)
        {

            A a1 = new A { X = 1 };
            ChangeA(a1);
            Console.WriteLine($"a1.X:{a1.X}");

            Console.ReadKey();
          
        }
        public static void ChangeA(A a)
        {
            a.X = 2;
            // 类按引用传递。这样,a变量把堆上的同一个对象引用为变量a1。当 ChangeA 修改 a 的 X 属性值时，把它改为 a1.X， 因为它是同一个对象。这里，结果是2。
        }
        public class A
        {
            public int X { get; set; }
        }
    }
}
